From 048957cd496ea86d1a8c1bcee376dcb421de5ff1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jonas=20=C3=85dahl?= Date: Wed, 7 Aug 2019 19:20:46 +0200 Subject: [PATCH] gtk/icon-theme: Handle lack of SVG loader gracefully When loading a SVG icon from a gresource file only containing SVG icons, but without having a SVG loader available in gdk-pixbuf, we would crash when trying to eventually load the resource. Fix this by gracefully handling this by simply failing to load the icon, while the first time it happens, log a warning. Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2084 --- gtk/gtkicontheme.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 117ccceb12..df13afc5b8 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -1768,6 +1768,20 @@ real_choose_icon (GtkIconTheme *icon_theme, icon_info->filename = g_strdup (unthemed_icon->svg_filename); else if (unthemed_icon->no_svg_filename) icon_info->filename = g_strdup (unthemed_icon->no_svg_filename); + else + { + static gboolean warned_once = FALSE; + + if (!warned_once) + { + g_warning ("Found an icon but could not load it. " + "Most likely gdk-pixbuf does not provide SVG support."); + warned_once = TRUE; + } + + g_clear_object (&icon_info); + goto out; + } if (unthemed_icon->is_resource) { -- 2.30.2